import { RequestBody } from 'alova';

import ApiClient from '@/api/apiClient';

export interface BannerInfoType {
	/**
	 * 创建人
	 */
	createBy?: string;
	/**
	 * 创建人id
	 */
	createId?: number;
	/**
	 * 创建时间
	 */
	createTime?: string;
	/**
	 * 主键
	 */
	id?: number;
	/**
	 * 是否逻辑删除，0否,其他是
	 */
	isDelete?: number;
	/**
	 * banner图片地址
	 */
	picUrl?: string;
	/**
	 * 0隐藏1展示
	 */
	status?: number;
	/**
	 * 租户编码
	 */
	tenantCode?: number;
	/**
	 * 标题
	 */
	title?: string;
	/**
	 * 修改人
	 */
	updateBy?: string;
	/**
	 * 修改人id
	 */
	updateId?: number;
	/**
	 * 更新时间
	 */
	updateTime?: string;
	/**
	 * 乐观锁版本号
	 */
	version?: number;
	[property: string]: any;
}

/** 轮播图-列表 */
export const adminBannerListApi = (data: RequestBody) => {
	return ApiClient.Post<BannerInfoType[]>('/bannerInfo/list', data, {
		meta: {
			auth: true
		}
	});
};
/** 轮播图-新增与编辑 */
export const adminBannerAddApi = (data: RequestBody) => {
	return ApiClient.Post('/bannerInfo/save', data);
};
/** 轮播图-删除 */
export const adminBannerDeleteApi = (data: Merged<RequestBody, { id: number }>) => {
	return ApiClient.Post(`/bannerInfo/delete/${data?.id}`, data, {
		params: data
	});
};

/** 轮播图-状态变更 */
export const adminBannerUpdateStatusApi = (data: Merged<RequestBody, BannerInfoType>) => {
	return ApiClient.Get(`/bannerInfo/status/${data?.id}/${data?.status}`);
};
